#ifndef HISTREAMER_PLUGIN_INIF_VEDIO_SINK_PLUGIN_H
#define HISTREAMER_PLUGIN_INIF_VEDIO_SINK_PLUGIN_H

#include "plugin_base.h"
#include "plugin_definition.h"
#include "common/plugin_caps.h"
#include "common/plugin_buffer.h"

namespace OHOS {
namespace Multimedia {
namespace Plugin {

struct VideoSinkPlugin : public PluginBase{
	virtual status Pause()=0;
	virtual status Resume()=0;
	virtual status Write(const std::shared_ptr<Buffer> &input)=0;
	virtual status Flush()=0;
};

#define VEDIO_SINK_API_VERSION_MAJOR (1)
#define VEDIO_SINK_API_VERSION_MINOR (1)

#define VIDEO_SINK_API_VERSION MAKE_VERSION(VEDIO_SINK_API_VERSION_MAJOR, VEDIO_SINK_API_VERSION_MINOR)

struct VideoSinkPluginDef : pubilc PluginBase {
	CapabilitySet inCaps;
	PluginCreatorFunc<VideoSinkPlugin> creator;
	VideoSinkPluginDef(){
		apiVersion = VIDEO_SINK_API_VERSION;
		pluginType = PluginType::VIDEO_SINK;
	}
};
	
}//naspace plugin
}//multi
} //ohos
#endif





	
